const baseProps: any = {
  isSelect: {
    type: Boolean,
    default: false
  },
  columns: {
    type: Array,
    default: []
  },
  customRow: {
    type: Function,
    default: () => { }
  },
  dataSource: {
    type: Array,
    default: []
  },
  rowSelection: {
    type: Object,
    default: {}
  },
  selectedRowKeys: {
    type: Array,
    default: []
  },
  rowKey: {
    type: String,
    default: 'id'
  },
  total: {
    type: Number,
    default: 0
  },
  size: {
    type: String,
    default: 'small'
  },
  scroll: {
    x: 'max-content',
    y: '',
    isFixed: false
  },
  isShowPagination: {
    type: Boolean,
    default: false
  },
  simple: {
    type: Boolean,
    default: false
  },
  showCheckDelete: {
    type: Boolean,
    default: false
  },
  isShowMove: {
    type: Boolean,
    default: false
  },
  defaultExpandAllRows: {
    type: Boolean,
    default: true
  },
  ele: { // 拖拽的容器
    type: String,
    default: ''
  },
  pageSize: {
    type: Number,
    default: 10
  },
  pageCurrent: {
    type: Number,
    default: 1
  },
  disabledParam: { // 禁止选择的字段名
    type: String,
    default: ''
  },
  disabledValue: {
    type: [String, Boolean, Number],
    default: ''
  },
  hideSelectAll: {
    type: [String, Number],
    default: ''
  }
}

const treeProps: any = {
  isSelect: {
    type: Boolean,
    default: false
  },
  columns: {
    type: Array,
    default: []
  },
  dataSource: {
    type: Array,
    default: []
  },
  isColumn: {
    type: Boolean,
    default: false
  },
  rowSelection: {
    type: Object,
    default: null
  },
  defaultExpandAllRows: {
    type: Boolean,
    default: false
  },
  scroll: {
    x: 'max-content',
    y: '',
    isFixed: false
  },
  rowKey: {
    type: [String, Number],
    default: 'id'
  },
  childrenColumnName: {
    type: String,
    default: 'children'
  },
  loading: {
    type: Boolean,
    default: false
  },
  height: {
    type: Number,
    default: 0
  },
}
const dragTreeProps: any = {
  columns: {
    type: Array,
    default: []
  },
  dataSource: {
    type: [],
    default: []
  },
  rowSelection: {
    type: Object,
    default: 1
  },
  expandedRowKeys: {
    type: Array,
    default: []
  },
  defaultExpandAllRows: {
    type: Boolean,
    default: false
  },
  rowKey: {
    type: [String, Number],
    default: 'id'
  },
  isSelect: {
    type: Boolean,
    default: true
  },
  selectedRowKeys: {
    type: Array,
    default: []
  }
}

export { baseProps, treeProps, dragTreeProps } 